package homework;

import java.io.*;
import java.util.Arrays;

/**
 * 将当前目录下的所有obj文件获取到，并进行
 * 反序列化后输出每个用户的信息(直接输出反序
 * 列化后的User对象即可)
 * @author Xiloer
 *
 */
public class Test02 {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        File file=new File(".");    //获取当前目录所有文件

        //筛选包含obj的文件，并存入subs中
        File[] subs = file.listFiles(file1 -> file1.getName().contains("obj")&&file1.isFile());
        //输出符合条件的文件
        System.out.println(Arrays.toString(subs));
        FileInputStream fis=null;
        ObjectInputStream ois=null;
        for (int i=0;i<subs.length;i++){   //遍历数组，并输出
            File sub=subs[i];
             fis=new FileInputStream(sub);      //把遍历出来的单个元素导入到字节输入流中
             ois=new ObjectInputStream(fis);    //再导入到对象流中
            Object obj=ois.readObject();        //用Object类型接收，反序列化ois
            if(obj instanceof User){            //判断是否与User为一种类型
            User use=(User) obj;                //是的话转为User
            System.out.println(use);            //输出use
            }

        }
        ois.close();                            //关闭对象流


    }
}
